package com.xavier.excel.annotation;

import com.xavier.excel.mapping.DefaultMapping;
import com.xavier.excel.mapping.Mapping;

import java.lang.annotation.*;

/**
 * 可合并表格字段
 *
 * @author Marder
 */
@Inherited // 声明注解具有继承性。2021年3月7日 没用了
@Documented
@Target(ElementType.FIELD)   //fieldTitle等属性还是导出Excel需要的，无法实现光一个@ToBeEmployedExcelField。改回ElementType.FIELD
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelField {

    /**
     * 导出字段标题
     */
    String fieldTitle() default "";

    String dateFormat() default "";

    /**
     * 单元格宽度
     */
    int cellWidth() default 0;

    /**
     * 是否参与合并部分
     */
    boolean isParent() default false;

    /**
     * 导出顺序(非单元格位置)
     */
    int index() default 0;

    /**
     * 字段值映射
     */
    Class<? extends Mapping<?>> mapping() default DefaultMapping.class;
}
